Many wireless communications devices are capable of communicating over more than network and using more than one communications protocol. Typically, the different networks and protocols may have differing capabilities and differing costs associated with use. In such devices, performance may be improved by optimizing the method which a given communications session uses for handing off from one network and protocol to another.